package chai.ning.date.train_14;

import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Random;

public class DateSort1 {

	public static void main(String[] args) {

		final Random r = new Random();
		final Calendar calendar = Calendar.getInstance();
		final Date[] dates = new Date[5];
		// 使用循环对 dates 数组进行初始化
		for (int i = 0; i < dates.length; i++) {
			// 随机产生 年份、月份、日期，并将其设置到 calendar 对象中
			int year = r.nextInt(50) + 1970;
			int month = r.nextInt(12);
			int day = r.nextInt(30);
			// calendar.clear();
			calendar.set(year, month, day);
			// 随后使用 calendar 的 getTime 来获取 Date 实例
			Date date = calendar.getTime();
			dates[i] = date;
		}

		// 使用循环输出排序前的日期
		for (int i = 0; i < dates.length; i++) {
			System.out.println(dates[i].toString());
		}

		// 使用 Date 类提供的方法，对日期进行比较并排序 (自然排序)
		for (int i = 0, n = dates.length; i < n - 1; i++) {
			for (int j = 0; j < n - 1 - i; j++) {
				if (dates[j].compareTo(dates[j + 1]) < 0) {
					Date temp = dates[j + 1];
					dates[j + 1] = dates[j];
					dates[j] = temp;
				}
			}
		}
		System.out.println();

		// 使用循环输出排序后的日期
		for (int i = 0; i < dates.length; i++) {
			System.out.println(dates[i].toString());
		}
	}

}
